;*******************************************************************
;* Permission related procedures
;*******************************************************************
[procedure-pYes]
    setFlag=zzPermit
    message=Why did you wait until it was urgent? You'll be punished for being stupid!
    punish=20
    
[procedure-pNo]
    setFlag=zzDeny

[procedure-AskUrgent]
    question=askUrgent
    
[question-askUrgent]
    text=Is it really urgent?
    ?Yes, it is very urgent!=pYes
    ?No, it is not urgent=*
    
;*******************************************************************
;* Permission - Orgasm
;*******************************************************************    
[permission-have an orgasm]
    preStatus=Available
	pct=Var
    HighMerits=#highCumMerits
    HighPct=#pct90
	LowMerits=#lowCumMerits
	LowPct=#0
	ForgetPenalty=#zzMerits
	IgnorePenalty=#zzMerits
	NotIf=Chaste
	DenyIf=#zzMerits<#minCumMerits
	newSubStatus=Orgasm
    setflag=naked    
    Delay=01:00,08:00
    minInterval=24:00
    
[status-Orgasm]
    title=Masturbating
    substatus=1
    quickReport=ThankCum
    text=You've been such a good fuckdoll! I'm so proud of you!
    text=As a special reward, I'll let you masturbate and have orgasms.
    text=You only get a hour, though. Make them count!
    text=And remember you're not allowed to get dressed until I say!
    MaxTime=01:00
    SlowPenalty1=50
    SlowPenalty2=10

[report-ThankCum]
    PreStatus=orgasm
    title=Thank you for letting me cum, Mistress!
    ontop=1
    NewStatus=&laststatus
    addMerit=#CumCost
    question=CumTo 
    question=eatCum    
   
[question-CumTo]
    text=Where did you eject?
    ?Onto myself, mistress.=goodEject
    ?To my food plate, mistress.=goodEject
    ?To my water bowl, mistress.=goodEject
    ?I strangled it, mistress.=goodEject
    ?Somewhere else, mistress.=*
    
[procedure-goodEject]
    message=You know well your position as a slave, good boy!
    addMerit=100
    
[question-eatCum]
    text=What will you do with your cum?
    ?I'll lick it clean, mistress.=eatCum
    ?I'll drink it with my water, mistress.=eatCum
    ?I'll swallow it with my fuckhole, mistress.=eatCum
    ?Down the drain, mistress.=*

[procedure-eatCum]
    message=I'll enjoy watching you doing that. Looks like you learned some humility after all.
    addMerit=100
    


   
;*******************************************************************
;* Permission - Water and Bathroom
;*******************************************************************

[permission-drink water]
   	pct=#pct90
   	Delay=00:01,00:10
	MaxWait=01:00
	Notify=2

[permission-go to the toilet]
    title=go to the bathroom
    beforeProcedure=beforeToilet
	preStatus=home
	pct=Var
    highMerits=#zzMaxMerits
    hightPct=#pct90
    lowMerits=#zzRed
    lowPct=#pct20
	NewSubStatus=toilet
	EndText=Finished bathroom break
	Delay=00:01,00:05
	MaxWait=00:05
    notify=2

[procedure-beforeToilet]
    procedure=AskUrgent
 

 
;*******************************************************************
;* Permission - Eat
;*******************************************************************
[question-foodType]
    text=What kind of food are you getting?
    ?healthy meal.=healthyMeal
    ?regular meal.=regularMeal
    ?heavy slave ration.=unhealthyMeal
    
[procedure-healthyMeal]
    addMerit=10
    
[procedure-regularMeal]
    addMerit=0
    
[procedure-unhealthyMeal]
    AddMerit=-10
    
[permission-eat a meal]
    prestatus=home
    pct=Var
    HighMerits=#zzYellow
	Highpct=#pct90
    LowMerits=#zzRed
    LowPct=#pct60
	Delay=00:02,00:10
	MaxWait=00:30
	MinInterval=03:00
    addMerit=#foodMerit
	Notify=2
	Procedure=Eating
    
[procedure-eating]
    ;decide eating instructions based on merits and mood and some randomness
    random#=#rand,-100,100
    ; mood add upto +/-125 offset
    set#=#temp,#mood
    subtract#=#temp,50
    multiply#=#temp,250
    divide#=#temp,100
    add#=#temp,#rand
    add#=#temp,#zzMerits
    instructions=eating
    newSubStatus=eating

[instructions-eating]
    askable=0
    change=program
    set=eatingGreen
    set=eatingYellow
    set=eatingRed
    
 
[set-eatingGreen]
    if=#temp>#zzYellow
	Askable=0
	change=Program
	none=No Special Instructions for eating
	choice=new
		option=Eat kneeling on the floor
            weight=1
		option=Eat sitting on the floor
            weight=1
		option=Eat standing at the table
            weight=3
		option=Seated at the table
			weight=6
	choice=new
		option=Eat with hands bind at back
            weight=1
		option=Eat with your fingers only
            weight=2
		option=Use cutlery
			weight=4
   
[set-EatingYellow]
    if=#temp>#zzRed
    notif=#temp>#zzYellow
	Askable=0
	change=Program
	none=No Special Instructions for eating
	choice=new
		option=Eat kneeling on the floor
            weight=2
		option=Eat sitting on the floor
            weight=3
		option=Eat standing at the table
            weight=4
		option=Seated at the table
			weight=2
	choice=new
		option=Eat with hands bind at back
            weight=1
		option=Eat with your fingers only
            weight=3
		option=Use cutlery
			weight=1
            
[set-EatingRed]
    if=#temp<=#zzRed
	Askable=0
	change=Program
	none=No Special Instructions for eating
	choice=new
		option=Eat kneeling on the floor
            weight=4
		option=Eat sitting on the floor
            weight=3
		option=Eat standing at the table
            weight=2
	choice=new
		option=Eat with hands bind at back
            weight=4
		option=Eat with your fingers only
            weight=2
 
            
;*******************************************************************
;* Permission - Luxuries: snack, juice / alcohol etc
;*******************************************************************  
[permission-other luxuries]
    title=enjoy some luxury
   	preStatus=home
   	pct=Var
    highMerits=#highLuxuryMerits
    highPct=#pct90
	LowMerits=#lowLuxuryMerits
	LowPct=#pct10
   	MinInterval=00:05
   	Delay=00:05,00:25
    question=LuxuryType
	ForgetPenalty=100,150
	IgnorePenalty=170,250
    
[question-LuxuryType]
    text=What are you planning to have?
    ?A healthy snack=healthySnack
    ?An ordinary snack=ordinarySnack
    ?A coffee or tea=healthyDrink
    ?A unsweetened juice=healthyDrink
    ?A sweet drink=sweetDrink
    ?An alcoholic drink=checkAlcohol
    ?A cigar or cigarette=smoke    
    
[procedure-healthySnack]
    addMerit=1
    
[procedure-ordinarySnack]
    addMerit=-10
    
[procedure-healthyDrink]
    addMerit=1
    
[procedure-sweetDrink]
    addMerit=-1
    
[procedure-smoke]
    addMerit=-50
    
; penalise for more than 2 drinks per day
[procedure-checkAlcohol]
    setFlag=alcohol
    add#=#alcoholCount,1
    addMerit=#alcoholMerits
    procedure=alcoholPenalty
    
[procedure-alcoholPenalty]
    if=#alcoholCount>=2
    subtract#=#alcoholMerits,15

[flag-alcohol]
    duration=12:00
    reportFlag=0
    expireProcedure=resetAlcohol
    
[procedure-resetAlcohol]
    set#=#alcoholCount,0
    set#=#alcoholMerits,1
 
;************************************************************************
;* Permission - Bath / Shower / personal care
;************************************************************************
    
[permission-hotBath]
    title=take a hot bath/shower
	NewSubStatus=Hot_bath
	pct=var
    highMerits=#HighHotBathMerits
    HighMerits=#pct70
	LowMerits=#lowHotBathMerits
	LowPct=0
	MaxWait=12:00
	MinInterval=01:00
    instructions=bath
    set#=#bathMPM,-1
	
[permission-coldBath]
    title=take a cold bath/shower
	NewSubStatus=Cold_Bath
	Pct=#pct90
	Delay=00:05,00:10
	MaxWait=00:30
	MinInterval=00:01
    instructions=bath
    notify=2
    set#=#bathMPM,1

[Instructions-bath]
	Askable=0
	change=Program
	none=No Instructions for washing yourself
    option=*
    
[permission-personalCare]
    title=undertake general personal care
    newStatus=general_personal_care
    pct=#pct90
    delay=00:01,00:05
    maxWait=00:10
    notify=2
    EndReport=Finished personal care

;*******************************************************************
;* Permissions - Sit
;*******************************************************************
[permission-sit on furniture]
	preStatus=home
    pct=Var
	highMerits=#zzYellow
	highpct=#pct90
	lowMerits=100
	LowPct=0
	MinInterval=01:05
	Delay=00:01,00:10
    notify=2
    MaxWait=01:00
	SetFlag=Sit
	Addmerit=-1
	ForgetPenalty=10
	IgnorePenalty=20

[flag-sit]
	Text=You may sit on furniture, within the next hour. Time Elapsed: {!zzRunTime}
	Duration=01:00
	ExpireMessage=You can no longer sit on furniture without requesting permission.
    
    
;*******************************************************************
;* Permissions - Sleep
;*******************************************************************
[Permission-sleep]
	preStatus=home
    pct=#pct90
    Delay=00:01,00:10
	MaxWait=00:30
	MinInterval=00:10
    notify=2
    set#=#SleepMPM,-1
    job=PMteeth

[procedure-sleepDressing]
    procedure=checkSleepBondage
    setFlag=Stripped
    removeFlag=slutty
    removeFlag=covered
	clothing=sleep
    newSubStatus=Dressing_for_sleep
    
[procedure-checkSleepBondage]
    ; can't sleep with posture collar on
    if=#bondagelevel>3
    set#=#bondageLevel,3

    
[procedure-sleep]
    ;decide sleep instructions based on merits and mood and some randomness
    random#=#rand,-150,150
    ; mood add upto +/-150 offset
    set#=#temp,#mood
    subtract#=#temp,50
    multiply#=#temp,3
    add#=#temp,#rand
    add#=#temp,#zzMerits
    procedure=sleepGreen
    procedure=sleepYellow
    procedure=sleepRed
    
[procedure-sleepGreen]
    if=#temp>#zzYellow
    instructions=sleep
    newSubStatus=sleepingGreen
    
[procedure-sleepYellow]
    if=#temp>#zzRed
    notif=#temp>#zzYellow
    instructions=sleep
    newSubStatus=sleepingYellow
    
[procedure-sleepRed]
    if=#temp<=#zzRed
    instructions=sleep
    newSubStatus=sleepingRed

[instructions-sleep]
    select=all
    set=sleepGreen
    set=sleepYellow
    set=sleepRed
    
[set-sleepGreen]
    if=#temp>#zzYellow
	Askable=0
	change=Program
	none=No Special Instructions for Sleeping
    select=all
	choice=new
		option=Sleep with me in my bed
            weight=5
        option=Sleep at the foot of my bed
    choice=new
        option=chain your collar and wrist to a post
            weight=2
        option=chain your wrist to a post
            weight=1
        option=chain your collar to a post
            weight=1
        option=chain your ankle to a post
            weight=1
        option=*
            weight=2
   
[set-sleepYellow]
    if=#temp>#zzRed
    notif=#temp>#zzYellow
	Askable=0
	change=Program
	none=No Special Instructions for Sleeping
    select=all
	choice=new
        option=Sleep with the slave girl in the cage
        option=sleep at the foot of my bed    
    choice=new
        option=chain your collar and wrist to a post
            weight=2
        option=chain your wrist to a post
            weight=2
        option=chain your collar to a post
            weight=2
        option=chain your ankle to a post
            weight=2
        option=*
            
[set-sleepRed]
    if=#temp<=#zzRed
	Askable=0
	change=Program
	none=No Special Instructions for Sleeping
    select=all
	choice=new
        option=Sleep with the slave girl in the cage
    choice=new
        option=Use no blanket
        option=*
    choice=new
        option=chain your collar and wrist to a post
            weight=4
        option=chain your wrist to a post
            weight=2
        option=chain your collar to a post
            weight=2
        option=chain your ankle to a post
            weight=1

[Permission-nap]
	preStatus=home
    pct=Var
    highMerits=#zzYellow
    highPct=#pct90
    LowMerits=0
    lowPct=0
    denyIf=Red
    Delay=00:01,00:10
	MinInterval=12:00
    set#=#clothingConsidered,0
    set#=#bondageConsidered,1
    newSubStatus=nap

    
;*******************************************************************
;* Clothing and bondage - Permissions
;*******************************************************************

[Permission-be stripped]
    notif=stripped
	preStatus=available
    pct=100
    setFlag=stripped
    removeFlag=covered
    removeFlag=slutty
    message=good slut, strip!
    procedure=stayingHome
    
    
[permission-wear clothes]
    if=stripped
    pct=Var
    HighMerits=#HighSluttyMerits
    HighPct=#pct90
	LowMerits=#lowSluttyMerits
	LowPct=0
    Delay=01:00,12:00
    setFlag=slutty
    removeFlag=stripped
    removeFlag=covered
    procedure=stayingHome
    
    
[permission-cover up]
    if=slutty
    preStatus=available
	pct=Var
    HighMerits=#HighClothesMerits
    HighPct=#pct70
	LowMerits=#lowClothesMerits
	LowPct=0
    Delay=01:00,12:00
    notify=0
    setFlag=covered
    removeFlag=stripped
    removeFlag=slutty
    procedure=stayingHome
    denyMessage=How dare you? Instead of cover you up, I think I'll strip you down.
    denyProcedure=stripNow
    addMerit=-50
    
[Permission-remove some bondage]
	preStatus=home
    notif=#bondageLevel=0
    if=homeClothing
    pct=Var
    highMerits=#zzYellow
    highPct=#pct90
    lowMerits=#zzRed
    lowPct=#pct10
    Delay=00:05,01:00
	MaxWait=24:00
	MinInterval=01:00,02:00
    subtract#=#bondageLevel,1
    procedure=stayingHome
    
[procedure-denyRemove]
    notif=#bondageLevel=4
    message={$zzMaster}: You dare ask for less bondage? I think I'll restrain you even more.
    add#=#bondageLevel,1
    clothing=home
    newSubStatus=dressing
    
[Permission-add some bondage]
	preStatus=home
    notif=#bondageLevel=3
    if=homeClothing
    notif=extraBondage
    pct=90
    Delay=00:01
	MinInterval=00:00:01
    add#=#bondageLevel,1
    clothing=home
    newSubStatus=dressing 
  
;*******************************************************************
;* Permissions - Trainings
;*******************************************************************
[permission-train]
    title=get training
    prestatus=available
    pct=100
    question=trainingType

[question-trainingType]
    text=What training are you requesting?
    ?enema=enema
    ?anal training=anal_training
    ?extra bondage=extra_bondage
    
[procedure-enema]
    job=enema
    
[procedure-anal_training]
    job=anal training     
    
[procedure-extra_bondage]
    job=extra bondage
     
;*******************************************************************
;* Work-related - Permissions
;*******************************************************************
[Permission-do extra work]
	preStatus=home
    pct=90
    Delay=00:01,00:10
	MaxWait=00:30
	MinInterval=00:10
    notify=2
    question=extraWork
    
[question-extraWork]
    text=What would you like to do?
    ?general housework=generalHousework
    ?general field work=generalfieldwork
    ?clean the kitchen=cleanKitchen
    ?clean the bathroom=cleanBathroom
    ?clean the living room=cleanLivingRoom
    ?clean the bedroom=cleanBedroom
    ?vacuum and mopping=vacuum
    ?laundry=laundry
    ?clean the car=cleanCar

[procedure-generalHousework]
    job=GeneralHousework
    
[procedure-generalFieldWork]
    job=generalFieldWork
    
[procedure-CleanKitchen]
    job=CleanKitchen
    
[procedure-CleanBathroom]
    job=cleanBathroom
    
[procedure-cleanLivingRoom]
    job=cleanLivingRoom
    
[procedure-cleanBedroom]
    job=cleanBedroom

[procedure-vacuum]
    job=vacuum
    
[procedure-laundry]
    job=laundry

[procedure-cleanCar]
    job=cleanCar